using System.Collections.Generic;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;

namespace LunoCode.Render
{
	static class LoadHelper
	{
		public static Dictionary<ModelEnum, Model> Models;
		public static Dictionary<EffectEnum, Effect> Effects;
		public static Dictionary<TextureEnum, Texture2D> Textures;
		//public static Dictionary<FontEnum, SpriteFont> Fonts;
        
		public static void Load(ContentManager content)
		{
			Models = new Dictionary<ModelEnum, Model>();    
			Effects = new Dictionary<EffectEnum, Effect>();
			Textures = new Dictionary<TextureEnum, Texture2D>();
			//Fonts = new Dictionary<FontEnum, SpriteFont>();

			#region load models
			Models.Add(ModelEnum.Skydome, content.Load<Model>(@"Models\skydome"));
			Models.Add(ModelEnum.Lunohod, content.Load<Model>(@"Models\lunohod"));
			//Models.Add(ModelEnum.House2, content.Load<Model>(@"Models\landing-dock"));
			//Models.Add(ModelEnum.Car, content.Load<Model>(@"Models\car"));
			#endregion

			#region load effects
			Effects.Add(EffectEnum.Phong, content.Load<Effect>(@"Effects\phong"));
			Effects.Add(EffectEnum.Basic, content.Load<Effect>(@"Effects\basic"));
			#endregion

			#region load textures
			Textures.Add(TextureEnum.Moon, content.Load<Texture2D>(@"Textures\moon"));
			Textures.Add(TextureEnum.HeightMap, content.Load<Texture2D>(@"Textures\hmap"));
			//Textures.Add(TextureEnum.Road, content.Load<Texture2D>(@"Textures\road"));
			//Textures.Add(TextureEnum.Button, content.Load<Texture2D>(@"Textures\button"));
			//Textures.Add(TextureEnum.TimeMenu, content.Load<Texture2D>(@"Textures\timegui"));
			//Textures.Add(TextureEnum.Cursor, content.Load<Texture2D>(@"Textures\cursor"));
			//Textures.Add(TextureEnum.Logo, content.Load<Texture2D>(@"Textures\logo"));
			#endregion

			//#region load fonts
			//Fonts.Add(FontEnum.Arial12, content.Load<SpriteFont>(@"Fonts\Arial12"));
			//Fonts.Add(FontEnum.Arial22, content.Load<SpriteFont>(@"Fonts\Arial22"));
			//Fonts.Add(FontEnum.Arial42, content.Load<SpriteFont>(@"Fonts\Arial42"));
			//#endregion
		}
	}

	public enum ModelEnum
	{
		Skydome,
		Lunohod
	}

	public enum EffectEnum
	{
		Phong,
		Basic
	}

	public enum TextureEnum
	{
		Moon,
		HeightMap
	}

	//public enum FontEnum
	//{
	//    Arial12,
	//    Arial22,
	//    Arial42
	//}
}